package com.chunfeng.mypen.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description: 题库
 * @author: 小雷
 * @createTime: 2023-11-13 19:07:53
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "题目实体类", description = "用于存储题目信息")
public class Topic implements Serializable {
    /**
     * 序列化常量
     */
    @ApiModelProperty(value = "序列化字段", hidden = true)
    private static final long serialVersionUID = 9026527751934255365L;
    /**
     * 主键
     */
    @ApiModelProperty(value = "题目ID", allowEmptyValue = true)
    private String id;
    /**
     * 题目内容
     */
    @ApiModelProperty(value = "题目内容")
    private String main;
    /**
     * 题目内容
     */
    @ApiModelProperty(value = "选项(集合)")
    private String options;
    /**
     * 解析
     */
    @ApiModelProperty(value = "解析")
    private String parse;
    /**
     * 参考答案(包含范文)
     */
    @ApiModelProperty(value = "参考答案(包含范文)")
    private String answer;
    /**
     * 分数
     */
    @ApiModelProperty(value = "分数")
    private Float score;
    /**
     * 题目类型(0客观题,1主观题)
     */
    @ApiModelProperty(value = "题目类型(0客观题,1主观题)")
    private Integer type;
    /**
     * 科目ID
     */
    @ApiModelProperty(value = "科目ID")
    private String subjectId;
    /**
     * 插图(单张图片,多张自行拼接)
     */
    @ApiModelProperty(value = "插图(单张图片,多张自行拼接)")
    private String fileId;
    /**
     * 状态(0正常,1失效)
     */
    @TableLogic
    @ApiModelProperty(value = "状态(0未-删除,1-删除)", allowableValues = "0,1")
    private Integer status;
    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人", hidden = true)
    private String createUser;
    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新人", hidden = true)
    private String updateUser;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间", hidden = true)
    private String createTime;
    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "修改时间", hidden = true)
    private String updateTime;

}
